Optimizing Queries for Coarse Grain Parallelism
نویسندگان
چکیده
We consider the problem of optimizing select-project-join relational queries for minimum response time on parallel machines. The design of the optimizer is based on three ideas: (1) the concept and quanti cation of degree of coarse grain parallelism for an execution tree, (2) the design of a parallelizing scheduler for a tree of coarse grain operations which is provably near optimal, and (3) the analysis of the scheduling algorithm to obtain a cost formula for parallel execution time. The search algorithm of the optimizer is presented as a multi-dimensional dynamic programming algorithm. We present two three-dimensional search algorithms for the case when placement of relations in the parallel machine do not overlap. We propose the tree placement strategy and demonstrate, by means of examples, how the number of dimensions in the search can be signi cantly reduced, thereby increasing the e ciency of the search algorithm.
منابع مشابه
Using Parallelism and Pipeline for the Optimisation of Join Queries
In this study we present a technique for the parallel optimisation of join queries, that uses the offered coarse-grain parallelism of the underlying architecture in order to reduce the CPU-bound optimisation overhead. The optimisation technique performs an almost exhaustive search of the solution space for small join queries and gradually, as the number of joins increases, it diverges towards i...
متن کاملcient Support for Fine - Grain Parallelism onShared - Memory Machines
A coarse-grain parallel program typically has one thread (task) per processor, whereas a ne-grain program has one thread for each independent unit of work. Although there are several advantages to ne-grain parallelism, conventional wisdom is that coarse-grain parallelism is more eecient. This paper illustrates the advantages of ne-grain parallelism and presents an eecient implementation for sha...
متن کاملE cient Support for Fine - Grain Parallelism on Shared
A coarse-grain parallel program typically has one thread (task) per processor, whereas a ne-grain program has one thread for each independent unit of work. Although there are several advantages to ne-grain parallelism, conventional wisdom is that coarse-grain parallelism is more eecient. This paper illustrates the advantages of ne-grain parallelism and presents an eecient implementation for sha...
متن کاملThe Impact of Data Communication and Control Synchronization on Coarse-Grain Task Parallelism
Research into automatic extraction of instruction-level parallelism and data parallelism from sequential languages by compilers has been going on for many years. However, task parallelism has been almost unexploited by parallelizing compilers. It has been shown that coarse-grain task parallelism is a useful additional resource of parallelism for multiprocessors, but the simple and restricted ex...
متن کاملDetection of Coarse- grain Parallelism
While the chip multiprocessor (CMP) has quickly become the predominant processor architecture, its continuing success largely depends on the parallelizability of complex programs. In the early 1990s great successes were obtained to extract parallelism from the inner loops of scientific computations. In this paper we show that significant amounts of coarse-grain parallelism exists in the outer p...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1993